import {Notice} from 'view-design';
import axios from 'axios';
import store from '../store/index'
import * as Cookies from 'js-cookie'
// 请求拦截
axios.interceptors.request.use(config => {
    // 1. 这个位置就请求前最后的配置
    // 2. 当然你也可以在这个位置 加入你的后端需要的用户授权信息
    // console.log('请求拦截-----------------',config.data)
    return config
}, error => {
    return Promise.reject(error)
})
// 响应拦截
axios.interceptors.response.use(response => {
    // 请求成功
    // 1. 根据自己项目需求定制自己的拦截
    // 2. 然后返回数据
    // console.log('--------------------响应数据-------------------------',response)
    if (response.data.code==445) {
        Notice.error({
            title: response.data.code,
            desc: response.data.msg
        });
        store().commit('ChangeUserInfo',{user_id:''});
        Cookies.set('userInfo', {user_id:''}, { expires: 1 / 6 })
    }
    return response;
}, error => {
    // 请求失败
    if (error && error.response) {
        switch (error.response.status) {
            case 400:
                Notice.error({
                    title: '400-无法解析此请求',
                    desc: '无法解析此请求请刷新重试'
                });
                break
            case 401:
                Notice.error({
                    title: '401-未经授权',
                    desc: '未经授权请授权后刷新重试'
                });
                break
            case 404:
                Notice.error({
                    title: '404-当前页面不存在',
                    desc: '找不到文件或目录请刷新重试'
                });
                return Promise.reject({code:400,data:{data:{},msg:{}}});
                break
            case 500:
                Notice.error({
                    title: '500-服务器内部错误',
                    desc: '服务器内部错误请稍后刷新重试'
                });
                break
            default:
                // 如果以上都不是的处理
                console.log('错误------------------')
                
                return Promise.reject(error);
        }
    }

})